#ifndef __APP_SERIAL_H__
#define __APP_SERIAL_H__

#include <termios.h>
#include "app_device.h"
// 波特率枚举
typedef enum
{
    BR_9600 = B9600,
    BR_115200 = B115200
} SERIAL_BAUD_RATE;

// 校验位枚举
typedef enum
{
    PARITY_NONE = 0, // 无校验位
    PARITY_ODD = PARENB | PARODD, // 奇校验位
    PARITY_EVEN = PARENB, // 偶校验位
} SERIAL_PARITY;

// 停止位枚举
typedef enum
{
    STOP_BIT_ONE = 0, // 1位停止位
    STOP_BIT_TWO = CSTOPB, // 2位停止位
} SERIAL_STOP_BIT;

/*串口阻塞/非阻塞模式的枚举*/
typedef enum
{
    BLOCK_MODE,
    NO_BLOCK_MODE
} block_mode;
/*串口初始化*/
int App_serial_Init(app_dev_t* dev);

/*设置串口波特率*/
int App_serial_set_baudrate(app_dev_t* dev,SERIAL_BAUD_RATE baudrate);

/*设置串口的阻塞模式*/
int App_serial_set_isblock(app_dev_t* dev,block_mode mode);
#endif /* __APP_SERIAL_H__ */
